Skip to content

9.8 新增或更新操作

功能移除声明以下内容在 Furion 2.5.1 + 版本中已移除。此操作让很多不了解 EFCore 的开发者产生了很大的误解,不知何时新增或何时更新,故移除此功能。

9.8.1 新增或更新(不立即提交)

// ==== 同步操作 ====  

// 示例一  
repository.InsertOrUpdate(user);  

// 示例二  
user.InsertOrUpdate();  

// ==== 异步操作 ====  

// 示例一  
await repository.InsertOrUpdateAsync(user);  

// 示例二  
await user.InsertOrUpdateAsync();  

9.8.2 新增或更新(立即提交)

// ==== 同步操作 ====  

// 示例一  
repository.InsertOrUpdateNow(user);  

// 示例二  
user.InsertOrUpdateNow();  

// ==== 异步操作 ====  

// 示例一  
await repository.InsertOrUpdateNowAsync(user);  

// 示例二  
await user.InsertOrUpdateNowAsync();  

9.8.3 新增或更新部分列(不立即提交)

// ==== 同步操作 ====  

// 示例一  
repository.InsertOrUpdateInclude(user, u=>u.Name, u=>u.Age);  

// 示例二  
repository.InsertOrUpdateInclude(user, "Age", "Name");  

// 示例三  
repository.InsertOrUpdateInclude(user, new[] { u=>u.Name, u=>u.Age});  

// 示例四  
repository.InsertOrUpdateInclude(user, new[] {"Age", "Name"});  

// 示例五  
user.InsertOrUpdateInclude(u=>u.Name, u=>u.Age);  

// 示例六  
user.InsertOrUpdateInclude("Age", "Name");  

// 示例七  
user.InsertOrUpdateInclude(new[] { u=>u.Name, u=>u.Age});  

// 示例八  
user.InsertOrUpdateInclude(new[] {"Age", "Name"});  

// ==== 异步操作 ====  

// 示例一  
await repository.InsertOrUpdateIncludeAsync(user, u=>u.Name, u=>u.Age);  

// 示例二  
await repository.InsertOrUpdateIncludeAsync(user, "Age", "Name");  

// 示例三  
await repository.InsertOrUpdateIncludeAsync(user, new[] { u=>u.Name, u=>u.Age});  

// 示例四  
await repository.InsertOrUpdateIncludeAsync(user, new[] {"Age", "Name"});  

// 示例五  
await user.InsertOrUpdateIncludeAsync(u=>u.Name, u=>u.Age);  

// 示例六  
await user.InsertOrUpdateIncludeAsync("Age", "Name");  

// 示例七  
await user.InsertOrUpdateIncludeAsync(new[] { u=>u.Name, u=>u.Age});  

// 示例八  
await user.InsertOrUpdateIncludeAsync(new[] {"Age", "Name"});  

9.8.4 新增或更新部分列(立即提交)

// ==== 同步操作 ====  

// 示例一  
repository.InsertOrUpdateIncludeNow(user, u=>u.Name, u=>u.Age);  

// 示例二  
repository.InsertOrUpdateIncludeNow(user, "Age", "Name");  

// 示例三  
repository.InsertOrUpdateIncludeNow(user, new[] { u=>u.Name, u=>u.Age});  

// 示例四  
repository.InsertOrUpdateIncludeNow(user, new[] {"Age", "Name"});  

// 示例五  
user.InsertOrUpdateIncludeNow(u=>u.Name, u=>u.Age);  

// 示例六  
user.InsertOrUpdateIncludeNow("Age", "Name");  

// 示例七  
user.InsertOrUpdateIncludeNow(new[] { u=>u.Name, u=>u.Age});  

// 示例八  
user.InsertOrUpdateIncludeNow(new[] {"Age", "Name"});  

// ==== 异步操作 ====  

// 示例一  
await repository.InsertOrUpdateIncludeNowAsync(user, u=>u.Name, u=>u.Age);  

// 示例二  
await repository.InsertOrUpdateIncludeNowAsync(user, "Age", "Name");  

// 示例三  
await repository.InsertOrUpdateIncludeNowAsync(user, new[] { u=>u.Name, u=>u.Age});  

// 示例四  
await repository.InsertOrUpdateIncludeNowAsync(user, new[] {"Age", "Name"});  

// 示例五  
await user.InsertOrUpdateIncludeNowAsync(u=>u.Name, u=>u.Age);  

// 示例六  
await user.InsertOrUpdateIncludeNowAsync("Age", "Name");  

// 示例七  
await user.InsertOrUpdateIncludeNowAsync(new[] { u=>u.Name, u=>u.Age});  

// 示例八  
await user.InsertOrUpdateIncludeNowAsync(new[] {"Age", "Name"});  

9.8.5 新增或更新排除特定列(不立即提交)

// ==== 同步操作 ====  

// 示例一  
repository.InsertOrUpdateExclude(user, u=>u.Name, u=>u.Age);  

// 示例二  
repository.InsertOrUpdateExclude(user, "Age", "Name");  

// 示例三  
repository.InsertOrUpdateExclude(user, new[] { u=>u.Name, u=>u.Age});  

// 示例四  
repository.InsertOrUpdateExclude(user, new[] {"Age", "Name"});  

// 示例五  
user.InsertOrUpdateExclude(u=>u.Name, u=>u.Age);  

// 示例六  
user.InsertOrUpdateExclude("Age", "Name");  

// 示例七  
user.InsertOrUpdateExclude(new[] { u=>u.Name, u=>u.Age});  

// 示例八  
user.InsertOrUpdateExclude(new[] {"Age", "Name"});  

// ==== 异步操作 ====  

// 示例一  
await repository.InsertOrUpdateExcludeAsync(user, u=>u.Name, u=>u.Age);  

// 示例二  
await repository.InsertOrUpdateExcludeAsync(user, "Age", "Name");  

// 示例三  
await repository.InsertOrUpdateExcludeAsync(user, new[] { u=>u.Name, u=>u.Age});  

// 示例四  
await repository.InsertOrUpdateExcludeAsync(user, new[] {"Age", "Name"});  

// 示例五  
await user.InsertOrUpdateExcludeAsync(u=>u.Name, u=>u.Age);  

// 示例六  
await user.InsertOrUpdateExcludeAsync("Age", "Name");  

// 示例七  
await user.InsertOrUpdateExcludeAsync(new[] { u=>u.Name, u=>u.Age});  

// 示例八  
await user.InsertOrUpdateExcludeAsync(new[] {"Age", "Name"});  

9.8.6 新增或更新排除特定列(立即提交)

// ==== 同步操作 ====  

// 示例一  
repository.InsertOrUpdateExcludeNow(user, u=>u.Name, u=>u.Age);  

// 示例二  
repository.InsertOrUpdateExcludeNow(user, "Age", "Name");  

// 示例三  
repository.InsertOrUpdateExcludeNow(user, new[] { u=>u.Name, u=>u.Age});  

// 示例四  
repository.InsertOrUpdateExcludeNow(user, new[] {"Age", "Name"});  

// 示例五  
user.InsertOrUpdateExcludeNow(u=>u.Name, u=>u.Age);  

// 示例六  
user.InsertOrUpdateExcludeNow("Age", "Name");  

// 示例七  
user.InsertOrUpdateExcludeNow(new[] { u=>u.Name, u=>u.Age});  

// 示例八  
user.InsertOrUpdateExcludeNow(new[] {"Age", "Name"});  

// ==== 异步操作 ====  

// 示例一  
await repository.InsertOrUpdateExcludeNowAsync(user, u=>u.Name, u=>u.Age);  

// 示例二  
await repository.InsertOrUpdateExcludeNowAsync(user, "Age", "Name");  

// 示例三  
await repository.InsertOrUpdateExcludeNowAsync(user, new[] { u=>u.Name, u=>u.Age});  

// 示例四  
await repository.InsertOrUpdateExcludeNowAsync(user, new[] {"Age", "Name"});  

// 示例五  
await user.InsertOrUpdateExcludeNowAsync(u=>u.Name, u=>u.Age);  

// 示例六  
await user.InsertOrUpdateExcludeNowAsync("Age", "Name");  

// 示例七  
await user.InsertOrUpdateExcludeNowAsync(new[] { u=>u.Name, u=>u.Age});  

// 示例八  
await user.InsertOrUpdateExcludeNowAsync(new[] {"Age", "Name"});  

9.8.7 反馈与建议

与我们交流给 Furion 提 Issue